3f85a7d264d350f6ee07e7b08eb3b531f5e8fceb,elide-core/src/main/java/com/yahoo/elide/security/executors/ActivePermissionExecutor.java,ActivePermissionExecutor,checkUserPermissions,#Class#Class#,191
Before Change
annotationClass,
requestScope
);
executeExpressions(expressions, annotationClass);
}
/**
After Change
// If the user check has already been evaluated before, return the result directly and save the building cost
ExpressionResult expressionResult
= userPermissionCheckCache.get(Triple.of(resourceClass, annotationClass, null));
if (expressionResult != null) {
return expressionResult;
}
Expressions expressions = expressionBuilder.buildUserCheckAnyExpression(
resourceClass,
annotationClass,
requestScope
);
expressionResult = executeExpressions(expressions, annotationClass);
userPermissionCheckCache.put(Triple.of(resourceClass, annotationClass, null), expressionResult);
if (expressionResult == PASS) {
requestScope.getExpressionResultShortCircuit().add(Triple.of(annotationClass, resourceClass, null));
}
return expressionResult;
}
/**